home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / comms / other / novia / src / gui / novia_gui_converts.c next >
C/C++ Source or Header  |  1999-12-06  |  37KB  |  984 lines

  1. #include <libraries/mui.h>
  2. #include <libraries/gadtools.h>
  3. #include <clib/muimaster_protos.h>
  4. #include <clib/alib_protos.h>
  5. #include <clib/dos_protos.h>
  6. #include <clib/exec_protos.h>
  7. #include <clib/asl_protos.h>
  8. //#include <clib/icon_protos.h>
  9. //#include <clib/graphics_protos.h>
  10. //#include <clib/intuition_protos.h>
  11. //#include <clib/gadtools_protos.h>
  12. #include <clib/utility_protos.h>
  13. #include <pragma/muimaster_lib.h>
  14. #include <pragma/exec_lib.h>
  15. #include <pragma/noviasys_lib.h>
  16. #include <stdlib.h>
  17. #include <stdio.h>
  18. #include <novia/novia_userdata.h>
  19. #include <novia/novia_userlist.h>
  20. #include <novia/novia_gui.h>
  21. #include <novia/novia_config.h>
  22. #include <novia/novia_misc.h>
  23. #include <novia/novia_global.h>
  24. #include <novia/novia_funcs.h>
  25. #include <exec/memory.h>
  26. //#include <libraries/iffparse.h>
  27. #include <dos/stdio.h>
  28.  
  29. #include "/novia_gui_data.h"
  30. #include "/novia_baseview_data.h"
  31.  
  32. #include <mui/Mailtext_mcc.h>
  33. #include <mui/NListview_mcc.h>
  34.  
  35. #include <dos/rdargs.h>
  36.  
  37. //#define DEBUG
  38.  
  39. struct MyNode {
  40.     struct MyNode     *ln_Succ;
  41.     struct MyNode    *ln_Pred;
  42.     UBYTE            ln_Type;
  43.     BYTE            ln_Pri;
  44.     BYTE             *ln_Name;
  45.     ULONG            IPNumber;
  46. };
  47.  
  48. //#include "mcpp:lib/mui.c"
  49. #define REG(x) register __ ## x
  50.  
  51. //#define ASM
  52. //#define SAVEDS
  53.  
  54. void GetX(Object *object,APTR pointer,ULONG ulong);
  55. BOOL MainPortConfigToGUI(MainPortConfig *config);
  56. BOOL GUIToMainPortConfig(MainPortConfig *config);
  57. BOOL ClientConfigToGUI(ClientConfig *config);
  58. void GUIToClientConfig(ClientConfig *config);
  59. void INet_POP3ServerToGUI(INet_POP3Server *server);
  60. void INet_LocalMailServerToGUI(INet_LocalMailServer *server);
  61. void GUIToINet_POP3Server(INet_POP3Server *server);
  62. void GUIToINet_LocalMailServer(INet_LocalMailServer *user);
  63. void INet_LocalUserToGUI(INet_MailUser *user);
  64. void GUIToINet_LocalUser(INet_MailUser *user);
  65. void EventToGUI(struct Event *event);
  66. void GUIToEvent(struct Event *event);
  67. void UserDataToGUI(UserData *udata);
  68. void GUIToUserData(UserData *udata);
  69. ULONG ConvertString(Object *object);
  70.  
  71. extern struct Library * MUIMasterBase;
  72. extern struct PortData *mport;                                        // internal use
  73. extern struct ObjApp * App;                                     // Application object
  74.  
  75. extern ULONG  MaintanceScreenModeID;
  76. extern ULONG  ClientScreenModeID;
  77. extern struct GUIFrontend guifrontend;
  78. extern struct MsgPort *GUIPort;
  79. extern struct MsgPort *MainGUIPort;                     // MsgPort from MainPort for GUI-Msgs.
  80.  
  81.  
  82. /*****************************************************************************
  83. ***                                                      Load & Save Funcs ***
  84. *****************************************************************************/
  85.  
  86. BOOL MainPortConfigToGUI(MainPortConfig *config)
  87. {
  88.     char buffer[200];
  89.     NameInfo *nameinfo=AllocVec(sizeof(NameInfo),MEMF_ANY);
  90.  
  91.     /************************************/
  92.     /*** SYSTEM SERVICE --> MAINTANCE ***/
  93.     /************************************/
  94.  
  95.     set(App->STR_SystemName,        MUIA_String_Contents,(APTR)config->SystemName);
  96.     set(App->TX_RegistrationID,    MUIA_String_Contents,(APTR)config->RegID);
  97.     set(App->TX_RegistrationName,    MUIA_String_Contents,(APTR)config->RegName);
  98.     set(App->STR_RegLocation,        MUIA_String_Contents,(APTR)config->RegLocation);
  99.     set(App->STR_MainPortNumber,    MUIA_String_Contents,(APTR)config->MainPortNumber);
  100.     set(App->STR_UUCPDomain,        MUIA_String_Contents,(APTR)config->UUCPDomain);
  101.  
  102.     set(App->STR_PA_SS_MAINPATH,    MUIA_String_Contents,(APTR)config->sysdirs.sysdir);
  103.     set(App->STR_PA_SS_USERDIR,    MUIA_String_Contents,(APTR)config->sysdirs.userdir);
  104.     set(App->STR_PA_SS_SYSDATA,    MUIA_String_Contents,(APTR)config->sysdirs.sysdata);
  105.     set(App->STR_PA_SS_SYSTEXT,    MUIA_String_Contents,(APTR)config->sysdirs.systext);
  106.     set(App->STR_PA_SS_NEWUSER,    MUIA_String_Contents,(APTR)config->sysdirs.newuser);
  107.     
  108.     sprintf(buffer,"%d",mport->UL.UserEntrys);
  109.     set(App->TX_SS_Users,            MUIA_Text_Contents,(APTR)buffer);
  110.  
  111.     set(App->TX_SS_BASEDIRS,        MUIA_Text_Contents,(APTR)"kommt noch");
  112.  
  113.     set(App->TX_SS_NUMBEROFPORTS, MUIA_Text_Contents,(APTR)"ja ja, irgendwann steht hier auch mal was.");
  114.  
  115.     /************************************/
  116.     /*** SYSTEM SERVICE --> OPTIONS   ***/
  117.     /************************************/
  118.  
  119.     //set(App->STR_RegVoicenumber,MUIA_String_Contents,(APTR)config->RegVoicenumber);
  120.     //set(App->STR_RegModem,MUIA_String_Contents,(APTR)config->RegVoicenumber);
  121.     //set(App->STR_RegEMail,MUIA_String_Contents,(APTR)config->RegEMail);
  122.     sprintf(buffer,"%d",config->SysopAccountNo);
  123.     set(App->STR_SysopAccountNo,MUIA_String_Contents,(APTR)buffer);
  124.     set(App->STR_DefaultAreaCode,MUIA_String_Contents,(APTR)config->DefaultAreaCode);
  125.     set(App->STR_DefaultLocationNo,MUIA_String_Contents,(APTR)config->DefaultLocationNo);
  126.     set(App->STR_DefaultCountryNo,MUIA_String_Contents,(APTR)config->DefaultCountryNo);
  127.  
  128.     MaintanceScreenModeID=config->ScreenMode;
  129.     GetDisplayInfoData(0,(APTR)nameinfo,sizeof(NameInfo),DTAG_NAME,config->ScreenMode);
  130.     set(App->STR_PA_Maintance_Screenmode,MUIA_String_Contents,(APTR)nameinfo->Name);
  131.     set(App->CY_SS_Options_Colors,MUIA_Cycle_Active,config->Colors-1);
  132.     set(App->CH_Main,MUIA_Selected,config->CH_Main);
  133.  
  134.     set(App->CH_SS_loadgui,MUIA_Selected,config->LoadGUI);
  135.  
  136.     /*** set Font ***/
  137.  
  138.     set(App->STR_PA_OptionsFont,MUIA_String_Contents,(APTR)config->FontName);
  139.  
  140.     /******************************************/
  141.     /*** SYSTEM SERVICE --> NETWORK --> TCP ***/
  142.     /******************************************/
  143.  
  144.     sprintf(buffer,"%d",config->INetConfig.MaxRemoteNodes);
  145.     set(App->STR_SS_TCP_REMOTENODES,        MUIA_String_Contents,(APTR)buffer);
  146.  
  147.     set(App->STR_SS_TCP_LOCALHOST,        MUIA_String_Contents,(APTR)config->INetConfig.LocalHost);
  148.     set(App->CH_SS_TCP_REMOTEADMIN,        MUIA_Selected,            (APTR)config->INetConfig.RemoteAdmin);
  149.  
  150.     IPToStr(buffer,config->INetConfig.RemoteIPAddress);
  151.     set(App->STR_SS_TCP_REMOTEIP,            MUIA_String_Contents,(APTR)buffer);
  152.  
  153.     sprintf(buffer,"%d",config->INetConfig.RemotePort);
  154.     set(App->STR_SS_TCP_Port,                MUIA_String_Contents,(APTR)buffer);
  155.  
  156.     set(App->CH_SS_TCP_MISC_SUMMERTIME,    MUIA_Selected,            (APTR)config->INetConfig.Summertime);
  157.     
  158.  
  159.     /*** refresh gui ***/
  160.  
  161.     MUI_Redraw(App->STR_SystemName,MADF_DRAWOBJECT);
  162.     MUI_Redraw(App->TX_RegistrationID,MADF_DRAWOBJECT);
  163.     MUI_Redraw(App->TX_RegistrationName,MADF_DRAWOBJECT);
  164.     MUI_Redraw(App->STR_RegLocation,MADF_DRAWOBJECT);
  165.     //MUI_Redraw(App->STR_RegVoicenumber,MADF_DRAWOBJECT);
  166.     //MUI_Redraw(App->STR_RegModem,MADF_DRAWOBJECT);
  167.     //MUI_Redraw(App->STR_RegEMail,MADF_DRAWOBJECT);
  168.     MUI_Redraw(App->STR_MainPortNumber,MADF_DRAWOBJECT);
  169.     MUI_Redraw(App->STR_UUCPDomain,MADF_DRAWOBJECT);
  170.     MUI_Redraw(App->STR_SysopAccountNo,MADF_DRAWOBJECT);
  171.     MUI_Redraw(App->STR_DefaultAreaCode,MADF_DRAWOBJECT);
  172.     MUI_Redraw(App->STR_DefaultLocationNo,MADF_DRAWOBJECT);
  173.     MUI_Redraw(App->STR_DefaultCountryNo,MADF_DRAWOBJECT);
  174.     MUI_Redraw(App->CY_SS_Options_Colors,MADF_DRAWOBJECT);
  175.     MUI_Redraw(App->STR_PA_OptionsFont,MADF_DRAWOBJECT);
  176.     
  177.     FreeVec(nameinfo);
  178.     return 0;
  179. }
  180. /*
  181.     APTR    STR_RegLocation;
  182.     APTR    STR_MainPortNumber;
  183.     APTR    STR_UUCPDomain;
  184.     APTR    STR_SysopAccountNo;
  185.     APTR    STR_DefaultAreaCode;
  186.     APTR    STR_DefaultLocationNo;
  187.     APTR    STR_DefaultCountryNo;
  188. */
  189.  
  190. void GUIToClientConfig(ClientConfig *config)
  191. {
  192.     ULONG ulong;
  193.  
  194. #ifdef DEBUG
  195.     printf("EDIT-CPORT: %p\n",edit_cport);
  196. #endif
  197.     config->IDNumber=ConvertString(App->STR_CC_IDNUMBER);
  198. //      get(App->CH_CC_loadatstart,MUIA_Selected,&ulong);
  199. //              config->LoadPortatstart=(BYTE)ulong;
  200.     get(App->CH_CC_openmonitor,MUIA_Selected,&ulong);
  201.         config->OpenScreenatstart=(BYTE)ulong;
  202.     get(App->CY_CC_NETWORKTYPE,MUIA_Cycle_Active,&ulong);
  203.         config->Networktype=(BYTE)ulong;
  204.     config->ScreenModeID=ClientScreenModeID;
  205. //      get(App->STR_PA_Screenmode,MUIA_Cycle_Active,&config->ScreenModeID);
  206.  
  207.     get(App->CH_CC_Workbench,MUIA_Selected,&ulong);
  208.         config->UseWorkbench=(BYTE)ulong;
  209.     get(App->CY_Colors,MUIA_Cycle_Active,&ulong);
  210.         config->Colors=ulong+1;
  211.  
  212.     GetX(App->STR_PA_ScreenFont,config->ScreenFont,sizeof(config->ScreenFont));
  213.     GetX(App->STR_PA_TerminalFont,config->TermFont,sizeof(config->TermFont));
  214.  
  215.     GetX(App->STR_PA_Device_Name,config->SerialData.Device_Name,sizeof(config->SerialData.Device_Name));
  216.     config->SerialData.Unit=ConvertString(App->STR_SerConfig_Unitno);
  217.     config->SerialData.IdleRate=ConvertString(App->STR_ClientConfig_Baudrateidle);
  218.     config->SerialData.OnlineBaud=ConvertString(App->STR_Baudrateonline);
  219.     config->SerialData.OfflineBaud=ConvertString(App->STR_CC_Baudrateoffline);
  220.  
  221.     get(App->CY_CC_Bits,MUIA_Cycle_Active,&ulong);
  222.         config->SerialData.DataBits=(BYTE)ulong+7;
  223.  
  224.     get(App->CY_CC_Parity,MUIA_Cycle_Active,&ulong);
  225.         config->SerialData.Parity=(BYTE)ulong;
  226.  
  227.     get(App->CY_CC_Protocoll,MUIA_Cycle_Active,&ulong);
  228.         config->SerialData.Handshake=(BYTE)ulong;
  229.  
  230.     get(App->CY_CC_StopBits,MUIA_Cycle_Active,&ulong);
  231.         config->SerialData.StopBits=(BYTE)ulong+1;
  232.  
  233.     get(App->CH_CC_DSR,MUIA_Selected,&ulong);
  234.         config->SerialData.WaitDSR=(BYTE)ulong;
  235.  
  236.     get(App->CH_CC_DTR,MUIA_Selected,&ulong);
  237.         config->SerialData.DTR_Hangup=(BYTE)ulong;
  238.  
  239.     config->SerialData.IOBuffersize=ConvertString(App->STR_SerConfig_IOBuffer);
  240.     GetX(App->STR_Modem_CONNECT,config->SerialData.str_CONNECT,sizeof(config->SerialData.str_CONNECT));
  241.     GetX(App->STR_Modem_NOCARRIER,config->SerialData.str_NOCARRIER,sizeof(config->SerialData.str_NOCARRIER));
  242.     GetX(App->STR_Modem_NODIALTONE,config->SerialData.str_NODIALTONE,sizeof(config->SerialData.str_NODIALTONE));
  243.     GetX(App->STR_Modem_RING,config->SerialData.str_RING,sizeof(config->SerialData.str_RING));
  244.     GetX(App->STR_Modem_BUSY,config->SerialData.str_BUSY,sizeof(config->SerialData.str_BUSY));
  245.     GetX(App->STR_Modem_OK,config->SerialData.str_OK,sizeof(config->SerialData.str_OK));
  246.     GetX(App->STR_Modem_TIMEOUT,config->SerialData.str_TIMEOUT,sizeof(config->SerialData.str_TIMEOUT));
  247.     GetX(App->STR_Modem_ERROR,config->SerialData.str_ERROR,sizeof(config->SerialData.str_ERROR));
  248.     GetX(App->STR_Commands_init,config->SerialData.cmd_init,sizeof(config->SerialData.cmd_init));
  249.     GetX(App->STR_Commands_exit,config->SerialData.cmd_exit,sizeof(config->SerialData.cmd_exit));
  250.     GetX(App->STR_Commands_hangup,config->SerialData.cmd_hangup,sizeof(config->SerialData.cmd_hangup));
  251.     GetX(App->STR_Dial_prefix,config->SerialData.dial_dialprefix,sizeof(config->SerialData.dial_dialprefix));
  252.     GetX(App->STR_Dial_suffix,config->SerialData.dial_dialsuffix,sizeof(config->SerialData.dial_dialsuffix));
  253.     get(App->CY_Dial_Dialmode,MUIA_Selected,&ulong);
  254.         config->SerialData.dial_dialmode=(BYTE)ulong;
  255.     GetX(App->STR_Answer_anscmd,config->SerialData.cmd_ANSWER,sizeof(config->SerialData.cmd_ANSWER));
  256.     GetX(App->STR_PA_DeviceParallel,config->ParData.Device_Name,sizeof(config->SerialData.Device_Name));
  257.     get(App->CY_CC_par_cabletype,MUIA_Cycle_Active,&ulong);
  258.         config->ParData.CableType=(BYTE)ulong;
  259.  
  260. }
  261.  
  262. BOOL GUIToMainPortConfig(MainPortConfig *config)
  263. {
  264.     ULONG ulong;
  265.     char buffer[100];
  266.  
  267.     /************************************/
  268.     /*** SYSTEM SERVICE --> MAINTANCE ***/
  269.     /************************************/
  270.  
  271.     GetX(App->STR_SystemName,config->SystemName,sizeof(config->SystemName));
  272.     GetX(App->TX_RegistrationID,config->RegID,sizeof(config->RegID));
  273.     GetX(App->TX_RegistrationName,config->RegName,sizeof(config->RegName));
  274.     GetX(App->STR_RegLocation,config->RegLocation,sizeof(config->RegLocation));
  275.     GetX(App->STR_MainPortNumber,config->MainPortNumber,sizeof(config->MainPortNumber));
  276.     GetX(App->STR_UUCPDomain,config->UUCPDomain,sizeof(config->UUCPDomain));
  277.  
  278.     // --------------------------------
  279.  
  280.     GetX(App->STR_PA_SS_MAINPATH,config->sysdirs.sysdir,sizeof(config->sysdirs.sysdir));
  281.     GetX(App->STR_PA_SS_USERDIR, config->sysdirs.userdir,sizeof(config->sysdirs.userdir));
  282.     GetX(App->STR_PA_SS_SYSDATA, config->sysdirs.sysdata,sizeof(config->sysdirs.sysdata));
  283.     GetX(App->STR_PA_SS_SYSTEXT, config->sysdirs.systext,sizeof(config->sysdirs.systext));
  284.     GetX(App->STR_PA_SS_NEWUSER, config->sysdirs.newuser,sizeof(config->sysdirs.newuser));
  285.  
  286.     // --------------------------------
  287.  
  288.     /************************************/
  289.     /*** SYSTEM SERVICE --> OPTIONS ***/
  290.     /************************************/
  291.  
  292.     config->SysopAccountNo=ConvertString(App->STR_SysopAccountNo);
  293.     GetX(App->STR_DefaultAreaCode,    config->DefaultAreaCode,sizeof(config->DefaultAreaCode));
  294.     GetX(App->STR_DefaultLocationNo,    config->DefaultLocationNo,sizeof(config->DefaultLocationNo));
  295.     GetX(App->STR_DefaultCountryNo,    config->DefaultCountryNo,sizeof(config->DefaultCountryNo));
  296.     if (MaintanceScreenModeID)config->ScreenMode=MaintanceScreenModeID;
  297.     get(App->CY_SS_Options_Colors,MUIA_Cycle_Active,&config->Colors);
  298.     config->Colors=config->Colors+1;
  299.     get(App->CH_Main,MUIA_Selected,&ulong);
  300.     config->CH_Main=(BYTE)ulong;
  301.     get(App->CH_SS_loadgui,MUIA_Selected,&ulong);
  302.     config->LoadGUI=(BYTE)ulong;
  303.     GetX(App->STR_PA_OptionsFont,config->FontName,sizeof(config->FontName));
  304.  
  305.  
  306.     /******************************************/
  307.     /*** SYSTEM SERVICE --> NETWORK --> TCP ***/
  308.     /******************************************/
  309.  
  310.     config->INetConfig.MaxRemoteNodes=ConvertString(App->STR_SS_TCP_REMOTENODES);
  311.  
  312.     GetX(App->STR_SS_TCP_LOCALHOST,    config->INetConfig.LocalHost,        sizeof(config->INetConfig.LocalHost));
  313.  
  314.     get(App->CH_SS_TCP_REMOTEADMIN,MUIA_Selected,&ulong);
  315.     config->INetConfig.RemoteAdmin=(char)ulong;
  316.  
  317.     GetX(App->STR_SS_TCP_REMOTEIP,buffer,20);
  318.     config->INetConfig.RemoteIPAddress=StrToIP(buffer);
  319.  
  320.     config->INetConfig.RemotePort=(UWORD)ConvertString(App->STR_SS_TCP_Port);
  321.  
  322.     get(App->CH_SS_TCP_MISC_SUMMERTIME,    MUIA_Selected,&ulong);
  323.     config->INetConfig.Summertime=(char)ulong;
  324.  
  325.     return 0;
  326. }
  327.  
  328. ULONG ConvertString(Object *object)
  329. {
  330.     char *buf;
  331.     char *txtbuffer=(char *)AllocVec(100,MEMF_ANY);
  332.     ULONG ulong;
  333.     get(object,MUIA_String_Contents,(APTR)&buf);
  334.     StrToLong(buf,(LONG *)&ulong);
  335.     sprintf(txtbuffer,"%d",ulong);
  336.     set(object,MUIA_String_Contents,(APTR)txtbuffer);
  337.     MUI_Redraw(object,MADF_DRAWOBJECT);
  338.     FreeVec(txtbuffer);
  339.     return ulong;
  340. }
  341.  
  342.  
  343. void GetX(Object *object,APTR pointer,ULONG ulong)
  344. {
  345.     char *buf=NULL;
  346.     get(object,MUIA_String_Contents,(APTR)&buf);
  347.     strncpy(pointer,buf,ulong-1);
  348.  
  349. }
  350.  
  351.  
  352. BOOL ClientConfigToGUI(ClientConfig *config)
  353. {
  354.     char buffer[200];
  355.     NameInfo *nameinfo=AllocVec(sizeof(NameInfo),MEMF_ANY);
  356.     ULONG ulong;
  357.  
  358. #ifdef DEBUG
  359.     printf("EDIT-CPORT: %p\n",edit_cport);
  360. #endif
  361.     sprintf(buffer,"%d",config->IDNumber);
  362.     set(App->STR_CC_IDNUMBER,MUIA_String_Contents,buffer);
  363.  
  364. //      ulong=(ULONG)config->LoadPortatstart;
  365. //      set(App->CH_CC_loadatstart,MUIA_Selected,ulong);
  366.  
  367.     ulong=(ULONG)config->OpenScreenatstart;
  368.     set(App->CH_CC_openmonitor,MUIA_Selected,ulong);
  369.  
  370.     ulong=(ULONG)config->Networktype;
  371.     set(App->CY_CC_NETWORKTYPE,MUIA_Cycle_Active,ulong);
  372.     ClientScreenModeID=config->ScreenModeID;
  373.     GetDisplayInfoData(0,(APTR)nameinfo,sizeof(NameInfo),DTAG_NAME,config->ScreenModeID);
  374.  
  375.     set(App->STR_PA_Screenmode,MUIA_String_Contents,nameinfo->Name);
  376.  
  377.     ulong=(ULONG)config->UseWorkbench;
  378.     set(App->CH_CC_Workbench,MUIA_Selected,ulong);
  379.  
  380.     set(App->CY_Colors,MUIA_Cycle_Active,config->Colors-1);
  381.  
  382.     sprintf(buffer,"%s",config->ScreenFont);
  383.  
  384.     set(App->STR_PA_ScreenFont,MUIA_String_Contents,config->ScreenFont);
  385.  
  386.     sprintf(buffer,"%s",config->TermFont);
  387.  
  388.     set(App->STR_PA_TerminalFont,MUIA_String_Contents,config->TermFont);
  389.  
  390.     set(App->STR_PA_Device_Name,MUIA_String_Contents,config->SerialData.Device_Name);
  391.  
  392.     sprintf(buffer,"%d",config->SerialData.Unit);
  393.     set(App->STR_SerConfig_Unitno,MUIA_String_Contents,buffer);
  394.  
  395.     sprintf(buffer,"%d",config->SerialData.IdleRate);
  396.     set(App->STR_ClientConfig_Baudrateidle,MUIA_String_Contents,buffer);
  397.  
  398.     sprintf(buffer,"%d",config->SerialData.OnlineBaud);
  399.     set(App->STR_Baudrateonline,MUIA_String_Contents,buffer);
  400.  
  401.     sprintf(buffer,"%d",config->SerialData.OfflineBaud);
  402.     set(App->STR_CC_Baudrateoffline,MUIA_String_Contents,buffer);
  403.  
  404.     set(App->CY_CC_Bits,MUIA_Cycle_Active,config->SerialData.DataBits-7);
  405.  
  406.     set(App->CY_CC_Parity,MUIA_Cycle_Active,config->SerialData.Parity);
  407.  
  408.     set(App->CY_CC_Protocoll,MUIA_Cycle_Active,config->SerialData.Handshake);
  409.  
  410.     set(App->CY_CC_StopBits,MUIA_Cycle_Active,config->SerialData.StopBits-1);
  411.  
  412.     ulong=(ULONG)config->SerialData.WaitDSR;
  413.     set(App->CH_CC_DSR,MUIA_Selected,ulong);
  414.  
  415.     ulong=(ULONG)config->SerialData.DTR_Hangup;
  416.     set(App->CH_CC_DTR,MUIA_Selected,ulong);
  417.  
  418.     sprintf(buffer,"%d",config->SerialData.IOBuffersize);
  419.     set(App->STR_SerConfig_IOBuffer,MUIA_String_Contents,buffer);
  420.  
  421.     sprintf(buffer,"%s",config->SerialData.str_CONNECT);
  422.     set(App->STR_Modem_CONNECT,MUIA_String_Contents,buffer);
  423.  
  424.     sprintf(buffer,"%s",config->SerialData.str_NOCARRIER);
  425.     set(App->STR_Modem_NOCARRIER,MUIA_String_Contents,buffer);
  426.  
  427.     sprintf(buffer,"%s",config->SerialData.str_NODIALTONE);
  428.     set(App->STR_Modem_NODIALTONE,MUIA_String_Contents,buffer);
  429.  
  430.     sprintf(buffer,"%s",config->SerialData.str_RING);
  431.     set(App->STR_Modem_RING,MUIA_String_Contents,buffer);
  432.  
  433.     sprintf(buffer,"%s",config->SerialData.str_BUSY);
  434.     set(App->STR_Modem_BUSY,MUIA_String_Contents,buffer);
  435.  
  436.     sprintf(buffer,"%s",config->SerialData.str_OK);
  437.     set(App->STR_Modem_OK,MUIA_String_Contents,buffer);
  438.  
  439.     sprintf(buffer,"%s",config->SerialData.str_TIMEOUT);
  440.     set(App->STR_Modem_TIMEOUT,MUIA_String_Contents,buffer);
  441.  
  442.     sprintf(buffer,"%s",config->SerialData.str_ERROR);
  443.     set(App->STR_Modem_ERROR,MUIA_String_Contents,buffer);
  444.  
  445.     sprintf(buffer,"%s",config->SerialData.cmd_init);
  446.     set(App->STR_Commands_init,MUIA_String_Contents,buffer);
  447.  
  448.     sprintf(buffer,"%s",config->SerialData.cmd_exit);
  449.     set(App->STR_Commands_exit,MUIA_String_Contents,buffer);
  450.  
  451.     sprintf(buffer,"%s",config->SerialData.cmd_hangup);
  452.     set(App->STR_Commands_hangup,MUIA_String_Contents,buffer);
  453.  
  454. //      sprintf(buffer,"hallo",config->SerialData.dial_dialprefix);
  455.     set(App->STR_Dial_prefix,MUIA_String_Contents,config->SerialData.dial_dialprefix);
  456.  
  457. //      sprintf(buffer,"%s",config->SerialData.dial_dialsuffix);
  458.     set(App->STR_Dial_suffix,MUIA_String_Contents,config->SerialData.dial_dialsuffix);
  459.  
  460.     ulong=(ULONG)config->SerialData.dial_dialmode;
  461.     set(App->CY_Dial_Dialmode,MUIA_Cycle_Active,ulong);
  462.  
  463.     sprintf(buffer,"%s",config->SerialData.cmd_ANSWER);
  464.     set(App->STR_Answer_anscmd,MUIA_String_Contents,buffer);
  465.  
  466.     sprintf(buffer,"%s",config->ParData.Device_Name);
  467.     set(App->STR_PA_DeviceParallel,MUIA_String_Contents,buffer);
  468.  
  469.     set(App->CY_CC_par_cabletype,MUIA_Cycle_Active,config->ParData.CableType);
  470.  
  471.     FreeVec(nameinfo);
  472.  
  473.     return TRUE;
  474. }
  475.  
  476. BOOL gui_SendGUIMsg( LONG msgid, APTR data)
  477. {
  478.     struct GUIMsg *msg;
  479.     if (guifrontend.GUIOpen && GUIPort)
  480.     {
  481.         msg=AllocVec(sizeof(GUIMsg),MEMF_ANY|MEMF_CLEAR);
  482.         if (!(msg))return FALSE;
  483.         msg->data=data;
  484.         msg->msg.mn_Length=sizeof(GUIMsg);
  485.         msg->msg.mn_ReplyPort=GUIPort;
  486.         msg->cmdid=msgid;
  487.         PutMsg(MainGUIPort,(Message *)msg);
  488.         return TRUE;
  489.     }
  490.     else
  491.     {
  492.         return FALSE;
  493.     }
  494.  
  495. }
  496.  
  497.  
  498. void UserDataToGUI(UserData *udata)
  499. {
  500.     char buffer[200];
  501.     ULONG ulong;
  502.     sprintf(buffer,"%d",udata->IDNumber);
  503.     set(App->STR_USER_IDNUMBER,MUIA_String_Contents,(APTR)buffer);
  504.     sprintf(buffer,"%d",udata->IPNumber);
  505.     set(App->TX_USER_IPNUMBER,MUIA_Text_Contents,(APTR)buffer);
  506.     sprintf(buffer,"%d",udata->Status);
  507.     set(App->TX_USER_STATUS,MUIA_Text_Contents,(APTR)buffer);
  508.     set(App->STR_USER_USERNAME,MUIA_String_Contents,(APTR)udata->Handle);
  509.     set(App->STR_USER_REALNAME,MUIA_String_Contents,(APTR)udata->RealName);
  510.     set(App->STR_USER_STREET,MUIA_String_Contents,(APTR)udata->Street);
  511.     set(App->STR_USER_ZIPCODE,MUIA_String_Contents,(APTR)udata->ZipCode);
  512.     set(App->STR_USER_CITY,MUIA_String_Contents,(APTR)udata->City);
  513.     set(App->STR_USER_COUNTRY,MUIA_String_Contents,(APTR)udata->Country);
  514.     set(App->STR_USER_AREACODE,MUIA_String_Contents,(APTR)udata->AreaCode);
  515.     set(App->STR_USER_PHONENUMBER,MUIA_String_Contents,(APTR)udata->PhoneNo);
  516.     set(App->STR_USER_MODEMNUMBER,MUIA_String_Contents,(APTR)udata->ModemNo);
  517.     set(App->STR_USER_FAXNUMBER,MUIA_String_Contents,(APTR)udata->FaxNo);
  518.     DateToString(buffer,&udata->Birthday,0);
  519.     set(App->STR_USER_BIRTHDAY,MUIA_String_Contents,(APTR)buffer);
  520.     DateToString(buffer,&udata->FirstCall,0);
  521.     set(App->TX_USER_FIRSTCALL,MUIA_Text_Contents,(APTR)buffer);
  522.     DateToString(buffer,&udata->LastCall,0);
  523.     set(App->TX_USER_LASTCALL,MUIA_Text_Contents,(APTR)buffer);
  524.     sprintf(buffer,"%d",udata->ComputerType);
  525.     set(App->PO_USER_COMPUTER,MUIA_String_Contents,(APTR)buffer);
  526.     sprintf(buffer,"%d",udata->Access);
  527.     set(App->PO_USER_ACCESS,MUIA_String_Contents,(APTR)buffer);
  528.     sprintf(buffer,"%d",udata->AccessGroup);
  529.     set(App->PO_USER_ACCESSGROUP,MUIA_String_Contents,(APTR)buffer);
  530.     sprintf(buffer,"%d",udata->ExpireDays);
  531.     set(App->STR_USER_EXPIREDAYS,MUIA_String_Contents,(APTR)buffer);
  532.     DateToString(buffer,&udata->ExpireDate,0);
  533.     set(App->STR_USER_EXPIREDAY,MUIA_String_Contents,(APTR)buffer);
  534.     set(App->CY_USER_CHARSET,MUIA_Cycle_Active,(APTR)udata->CharSet);
  535.     set(App->CY_USER_MOREMODE,MUIA_Cycle_Active,(APTR)udata->MoreMode);
  536.     set(App->CY_USER_TIMEFORMAT,MUIA_Cycle_Active,(APTR)udata->TimeFormat);
  537.     set(App->CY_USER_DATEFORMAT,MUIA_Cycle_Active,(APTR)udata->DateFormat);
  538.     set(App->CY_USER_LINEFEEDS,MUIA_Cycle_Active,(APTR)udata->TermLineFeeds);
  539.     set(App->CY_USER_TERMTABS,MUIA_Cycle_Active,(APTR)udata->TermTabs);
  540.     set(App->CY_USER_TERMANSI,MUIA_Cycle_Active,(APTR)udata->TermANSI);
  541.  
  542.     ulong=0;
  543.     if (udata->TermColors==4)ulong=1;
  544.         else if (udata->TermColors==8)ulong=2;
  545.             else    if (udata->TermColors==16)ulong=3;
  546.  
  547.     set(App->CY_USER_TERMCOLORS,MUIA_Cycle_Active,(APTR)ulong);
  548.  
  549.     sprintf(buffer,"%d",udata->TermWidth);
  550.     set(App->STR_USER_TERMWIDTH,MUIA_String_Contents,(APTR)buffer);
  551.     sprintf(buffer,"%d",udata->TermLength);
  552.     set(App->STR_USER_TERMLENGTH,MUIA_String_Contents,(APTR)buffer);
  553. }
  554.  
  555.  
  556. void GUIToUserData(UserData *udata)
  557. {
  558.     char buffer[200];
  559.     ULONG ulong;
  560.     GetX(App->STR_USER_IDNUMBER,buffer,14);
  561.     StrToLong(buffer,(LONG *)&udata->IDNumber);
  562.     GetX(App->STR_USER_USERNAME,udata->Handle,21);
  563.     GetX(App->STR_USER_REALNAME,udata->RealName,41);
  564.     GetX(App->STR_USER_STREET,udata->Street,41);
  565.     GetX(App->STR_USER_ZIPCODE,udata->ZipCode,11);
  566.     GetX(App->STR_USER_CITY,udata->City,30);
  567.     GetX(App->STR_USER_COUNTRY,udata->Country,4);
  568.     GetX(App->STR_USER_AREACODE,udata->AreaCode,8);
  569.     GetX(App->STR_USER_PHONENUMBER,udata->PhoneNo,25);
  570.     GetX(App->STR_USER_MODEMNUMBER,udata->ModemNo,25);
  571.     GetX(App->STR_USER_FAXNUMBER,udata->FaxNo,25);
  572.  
  573. /*    DateToString(buffer,&udata->Birthday,0);
  574.     GetX(App->STR_USER_BIRTHDAY,MUIA_String_Contents,(APTR)buffer);
  575.     DateToString(buffer,&udata->FirstCall,0);
  576.     GetX(App->TX_USER_FIRSTCALL,MUIA_Text_Contents,(APTR)buffer);
  577.     DateToString(buffer,&udata->LastCall,0);
  578.     GetX(App->TX_USER_LASTCALL,MUIA_Text_Contents,(APTR)buffer);
  579. */
  580.     GetX(App->PO_USER_COMPUTER,buffer,10);
  581.     StrToLong(buffer,(LONG *)&udata->ComputerType);
  582.  
  583.     GetX(App->PO_USER_ACCESS,buffer,10);
  584.     StrToLong(buffer,(LONG *)&udata->Access);
  585.  
  586.     GetX(App->PO_USER_ACCESSGROUP,buffer,10);
  587.     StrToLong(buffer,(LONG *)&udata->AccessGroup);
  588.  
  589.     GetX(App->STR_USER_EXPIREDAYS,buffer,6);
  590.     StrToLong(buffer,(LONG *)&ulong);
  591.     udata->ExpireDays=(UWORD)ulong;
  592.  
  593. /*    GetX(App->STR_USER_EXPIREDAYS,MUIA_String_Contents,(APTR)buffer);
  594.     DateToString(buffer,&udata->ExpireDate,0);
  595.     GetX(App->STR_USER_EXPIREDAY,MUIA_String_Contents,(APTR)buffer);
  596. */
  597.  
  598.     get(App->CY_USER_CHARSET,MUIA_Cycle_Active,&ulong);
  599.         udata->CharSet=(UBYTE)ulong;
  600.  
  601.     get(App->CY_USER_MOREMODE,MUIA_Cycle_Active,&ulong);
  602.         udata->MoreMode=(UBYTE)ulong;
  603.  
  604.     get(App->CY_USER_TIMEFORMAT,MUIA_Cycle_Active,&ulong);
  605.         udata->TimeFormat=(UBYTE)ulong;
  606.  
  607.     get(App->CY_USER_DATEFORMAT,MUIA_Cycle_Active,&ulong);
  608.         udata->DateFormat=(UBYTE)ulong;
  609.  
  610.     get(App->CY_USER_LINEFEEDS,MUIA_Cycle_Active,&ulong);
  611.         udata->TermLineFeeds=(UBYTE)ulong;
  612.  
  613.     get(App->CY_USER_TERMTABS,MUIA_Cycle_Active,&ulong);
  614.         udata->TermTabs=(UBYTE)ulong;
  615.  
  616.     get(App->CY_USER_TERMANSI,MUIA_Cycle_Active,&ulong);
  617.         udata->TermANSI=(UBYTE)ulong;
  618.  
  619.     get(App->CY_USER_TERMCOLORS,MUIA_Cycle_Active,&ulong);
  620.         udata->TermColors=(UBYTE)2<<ulong;
  621.  
  622.     GetX(App->STR_USER_TERMWIDTH,buffer,4);
  623.     StrToLong(buffer,(LONG *)&ulong);
  624.     udata->TermWidth=(UBYTE)ulong;
  625.  
  626.     GetX(App->STR_USER_TERMLENGTH,buffer,4);
  627.     StrToLong(buffer,(LONG *)&ulong);
  628.     udata->TermLength=(UBYTE)ulong;
  629.  
  630. }
  631.  
  632.  
  633. void INet_LocalMailServerToGUI(INet_LocalMailServer *server)
  634. {
  635.     char buffer[200];
  636.     ULONG ulong;
  637.  
  638.     set(App->STR_SS_TCP_MAILBOX_NAME,MUIA_String_Contents,server->Name);
  639.     set(App->STR_SS_TCP_MAILBOX_DOMAIN,MUIA_String_Contents,server->Domain);
  640.     set(App->STR_SS_TCP_MAILBOX_POPHOST,MUIA_String_Contents,server->POP3Host);
  641.  
  642.     sprintf(buffer,"%d",server->POP3Port);    
  643.     set(App->STR_SS_TCP_MAILBOX_POPPORT,MUIA_String_Contents,buffer);
  644.  
  645.     set(App->STR_SS_TCP_MAILBOX_SMTPHOST,MUIA_String_Contents,server->SMTPHost);
  646.  
  647.     sprintf(buffer,"%d",server->SMTPPort);    
  648.     set(App->STR_SS_TCP_MAILBOX_SMTPPORT,MUIA_String_Contents,buffer);
  649.  
  650.     set(App->PA_SS_TCP_MAILBOX_INVALID_TEXT,MUIA_String_Contents,server->InvalidFilename);
  651.     set(App->STR_SS_TCP_MAILBOX_INVALID_SUBJECT,MUIA_String_Contents,server->InvalidMailSubject);
  652.     set(App->STR_SS_TCP_MAILBOX_INVALID_NAME,MUIA_String_Contents,server->InvalidAddress);
  653.     set(App->PA_SS_TCP_MAILBOX_INBOUND,MUIA_String_Contents,server->InboundPath);
  654.     set(App->PA_SS_TCP_MAILBOX_OUTBOUND,MUIA_String_Contents,server->OutboundPath);
  655.  
  656.     ulong=(ULONG)server->Flag_Allow8Bit;
  657.     set(App->CH_SS_TCP_MAILBOX_8BIT,MUIA_Selected,ulong);
  658.     ulong=(ULONG)server->Flag_UseAPOP;
  659.     set(App->CH_SS_TCP_MAILBOX_APOP,MUIA_Selected,ulong);
  660.     ulong=(ULONG)server->Flag_ExternalServer;
  661.     set(App->CH_SS_TCP_MAILBOX_EXTSERVER,MUIA_Selected,ulong);
  662.     set(App->TX_SS_TCP_MAILBOX_INVALID_NAME,MUIA_Text_Contents,server->Domain);
  663. }
  664.  
  665. void INet_LocalUserToGUI(INet_MailUser *user)
  666. {
  667.     char buffer[200];
  668.     ULONG ulong;
  669.     set(App->PO_SS_TCP_MAILBOX_USERS_NAME,                MUIA_String_Contents,    user->Name);
  670.     set(App->CY_SS_TCP_USERS_TYPE,                        MUIA_Cycle_Active,        user->UserType);
  671.     set(App->STR_SS_TCP_MAILBOX_USERS_POPID,            MUIA_String_Contents,    user->POPID);
  672.     set(App->CH_SS_TCP_MAILBOX_USERS_POPID_FROMBBS,    MUIA_Selected,                user->Flag_UseBBSUserName);
  673.     set(App->STR_SS_TCP_MAILBOX_USERS_PW,                MUIA_String_Contents,    user->POPPassword);
  674.     set(App->CH_SS_TCP_MAILBOX_USERS_PW_FROMBBS,        MUIA_Selected,                user->Flag_UseBBSPassword);
  675.  
  676.     sprintf(buffer,"%d",user->HoldMails);
  677.     set(App->STR_SS_TCP_MAILBOX_USERS_HOLDMAILS,        MUIA_String_Contents,    buffer);
  678.     sprintf(buffer,"%d",user->MaxEMails);    
  679.     set(App->STR_SS_TCP_MAILBOX_USERS_MAXMAILS,        MUIA_String_Contents,    buffer);
  680.     sprintf(buffer,"%d",user->Space);
  681.     set(App->STR_SS_TCP_MAILBOX_USERS_SPACE,            MUIA_String_Contents,    buffer);
  682.  
  683. }
  684.  
  685. void GUIToINet_LocalMailServer(INet_LocalMailServer *server)
  686. {
  687.     char buffer[200];
  688.     ULONG ulong;
  689.  
  690.     GetX(App->STR_SS_TCP_MAILBOX_NAME,server->Name,40);
  691.     GetX(App->STR_SS_TCP_MAILBOX_DOMAIN,server->Domain,80);
  692.     GetX(App->STR_SS_TCP_MAILBOX_POPHOST,server->POP3Host,80);
  693.  
  694.     GetX(App->STR_SS_TCP_MAILBOX_POPPORT,buffer,10);
  695.     StrToLong(buffer,(LONG *)&ulong);
  696.     server->POP3Port=(UWORD)ulong;
  697.  
  698.     GetX(App->STR_SS_TCP_MAILBOX_SMTPHOST,server->SMTPHost,80);
  699.  
  700.     GetX(App->STR_SS_TCP_MAILBOX_SMTPPORT,buffer,10);
  701.     StrToLong(buffer,(LONG *)&ulong);
  702.     server->SMTPPort=(UWORD)ulong;
  703.  
  704.     GetX(App->PA_SS_TCP_MAILBOX_INVALID_TEXT,server->InvalidFilename,80);
  705.     GetX(App->STR_SS_TCP_MAILBOX_INVALID_SUBJECT,server->InvalidMailSubject,80);
  706.     GetX(App->STR_SS_TCP_MAILBOX_INVALID_NAME,server->InvalidAddress,79);
  707.     GetX(App->PA_SS_TCP_MAILBOX_INBOUND,server->InboundPath,80);
  708.     GetX(App->PA_SS_TCP_MAILBOX_OUTBOUND,server->OutboundPath,80);
  709.  
  710.     get(App->CH_SS_TCP_MAILBOX_8BIT,MUIA_Selected,&ulong);
  711.     server->Flag_Allow8Bit=(char)ulong;
  712.  
  713.     get(App->CH_SS_TCP_MAILBOX_APOP,MUIA_Selected,&ulong);
  714.     server->Flag_UseAPOP=(char)ulong;
  715.  
  716.     get(App->CH_SS_TCP_MAILBOX_EXTSERVER,MUIA_Selected,&ulong);
  717.     server->Flag_ExternalServer=(char)ulong;
  718. }
  719.  
  720. void GUIToINet_LocalUser(INet_MailUser *user)
  721. {
  722.     char buffer[200];
  723.     ULONG ulong;
  724.  
  725.     GetX(App->PO_SS_TCP_MAILBOX_USERS_NAME,            user->Name,40);
  726.     GetX(App->STR_SS_TCP_MAILBOX_USERS_POPID,            user->POPID,40);
  727.     GetX(App->STR_SS_TCP_MAILBOX_USERS_PW,                user->POPPassword,40);
  728.  
  729.     get(App->CH_SS_TCP_MAILBOX_USERS_POPID_FROMBBS,MUIA_Selected,&ulong);
  730.     user->Flag_UseBBSUserName=(char)ulong;
  731.     get(App->CH_SS_TCP_MAILBOX_USERS_PW_FROMBBS,MUIA_Selected,&ulong);
  732.     user->Flag_UseBBSPassword=(char)ulong;
  733.  
  734.     get(App->CY_SS_TCP_USERS_TYPE,MUIA_Cycle_Active,&ulong);
  735.     user->UserType=(char)ulong;
  736.  
  737.     GetX(App->STR_SS_TCP_MAILBOX_USERS_HOLDMAILS,    buffer,12);
  738.     StrToLong(buffer,(LONG *)&ulong);
  739.     user->HoldMails=(UWORD)ulong;
  740.  
  741.     GetX(App->STR_SS_TCP_MAILBOX_USERS_MAXMAILS,        buffer,12);
  742.     StrToLong(buffer,(LONG *)&ulong);
  743.     user->MaxEMails=(UWORD)ulong;
  744.  
  745.     GetX(App->STR_SS_TCP_MAILBOX_USERS_SPACE,            buffer,12);
  746.     StrToLong(buffer,(LONG *)&user->Space);
  747.  
  748. }
  749.  
  750.  
  751. void INet_POP3ServerToGUI(INet_POP3Server *server)
  752. {
  753.     char buffer[200];
  754.     ULONG ulong;
  755.  
  756.     set(App->STR_SS_TCP_POP_NAME,MUIA_String_Contents,server->Name);
  757.     set(App->STR_SS_TCP_POP_DOMAIN,MUIA_String_Contents,server->Domain);
  758.     set(App->STR_SS_TCP_POP_POPHOST,MUIA_String_Contents,server->POP3Host);
  759.     set(App->STR_SS_TCP_POP_SMTPHOST,MUIA_String_Contents,server->SMTPHost);
  760.  
  761.     set(App->STR_SS_TCP_POP_USERNAME,MUIA_String_Contents,server->Username);
  762.     set(App->STR_SS_TCP_POP_PASSWORD,MUIA_String_Contents,server->Password);
  763.  
  764.     set(App->PA_SS_TCP_POP_INVALID_TEXT,MUIA_String_Contents,server->InvalidFilename);
  765.     set(App->STR_SS_TCP_POP_INVALID_SUBJECT,MUIA_String_Contents,server->InvalidMailSubject);
  766.     set(App->STR_SS_TCP_POP_INVALID_NAME,MUIA_String_Contents,server->InvalidAddress);
  767.     
  768.     set(App->PA_SS_TCP_POP_INBOUND,MUIA_String_Contents,server->InboundPath);
  769.     set(App->PA_SS_TCP_POP_OUTBOUND,MUIA_String_Contents,server->OutboundPath);
  770.  
  771.     ulong=(ULONG)server->Flag_8Bit;
  772.     set(App->CH_SS_TCP_POP_8BIT,MUIA_Selected,ulong);
  773.  
  774.     ulong=(ULONG)server->Flag_UseAPOP;
  775.     set(App->CH_SS_TCP_POP_APOP,MUIA_Selected,ulong);
  776.  
  777.     ulong=(ULONG)server->Flag_ExternalServer;
  778.     set(App->CH_SS_TCP_POP_EXTSERVER,MUIA_Selected,ulong);
  779.  
  780.     ulong=(ULONG)server->Flag_DeleteMails;
  781.     set(App->CH_SS_TCP_POP_DELMAILS,MUIA_Selected,ulong);
  782.  
  783.     set(App->TX_SS_TCP_POP_INVALID_NAME,MUIA_Text_Contents,server->Domain);
  784. }
  785.  
  786. void GUIToINet_POP3Server(INet_POP3Server *server)
  787. {
  788.     char buffer[200];
  789.     ULONG ulong;
  790.  
  791.     GetX(App->STR_SS_TCP_POP_NAME,server->Name,40);
  792.     GetX(App->STR_SS_TCP_POP_DOMAIN,server->Domain,120);
  793.     GetX(App->STR_SS_TCP_POP_POPHOST,server->POP3Host,80);
  794.     GetX(App->STR_SS_TCP_POP_SMTPHOST,server->SMTPHost,80);
  795.  
  796.     GetX(App->STR_SS_TCP_POP_USERNAME,server->Username,80);
  797.     GetX(App->STR_SS_TCP_POP_PASSWORD,server->Password,80);
  798.  
  799.     GetX(App->PA_SS_TCP_POP_INVALID_TEXT,server->InvalidFilename,80);
  800.     GetX(App->STR_SS_TCP_POP_INVALID_SUBJECT,server->InvalidMailSubject,80);
  801.     GetX(App->STR_SS_TCP_POP_INVALID_NAME,server->InvalidAddress,80);
  802.     GetX(App->PA_SS_TCP_POP_INBOUND,server->InboundPath,80);
  803.     GetX(App->PA_SS_TCP_POP_OUTBOUND,server->OutboundPath,80);
  804.  
  805.     get(App->CH_SS_TCP_POP_8BIT,MUIA_Selected,&ulong);
  806.     server->Flag_8Bit=(char)ulong;
  807.  
  808.     get(App->CH_SS_TCP_POP_APOP,MUIA_Selected,&ulong);
  809.     server->Flag_UseAPOP=(char)ulong;
  810.  
  811.     get(App->CH_SS_TCP_POP_EXTSERVER,MUIA_Selected,&ulong);
  812.     server->Flag_ExternalServer=(char)ulong;
  813.  
  814.     get(App->CH_SS_TCP_POP_DELMAILS,MUIA_Selected,&ulong);
  815.     server->Flag_DeleteMails=(char)ulong;
  816. }
  817.  
  818. void EventToGUI(struct Event *event)
  819. {
  820.     char buffer[200];
  821.     ULONG ulong;
  822.  
  823.     set(App->STR_REMINDER,MUIA_String_Contents,event->Name);
  824.  
  825.     DateToString(buffer,&event->BeginDate,DATEFLAG_USEDATE);
  826.     set(App->STR_REMINDER_BEGINDATE,        MUIA_String_Contents,    buffer);
  827.  
  828.     DateToString(buffer,&event->EndDate,DATEFLAG_USEDATE);
  829.     set(App->STR_REMINDER_ENDDATE,        MUIA_String_Contents,    buffer);
  830.  
  831.     set(App->CY_REMINDER_DATETYPE,        MUIA_Cycle_Active,    event->DateType);
  832.  
  833.     sprintf(buffer,"%d",event->IntervalTime);
  834.     set(App->STR_REMINDER_INTERVAL,    MUIA_String_Contents,    buffer);
  835.  
  836.     switch (event->Multiplicator)
  837.     {
  838.         case MULTIPLICATOR_SECS:
  839.             set(App->CY_REMINDER_INTERVALMULTIPLICATOR,        MUIA_Cycle_Active,    0);
  840.             break;
  841.         case MULTIPLICATOR_MINS:
  842.             set(App->CY_REMINDER_INTERVALMULTIPLICATOR,        MUIA_Cycle_Active,    1);
  843.             break;
  844.         case MULTIPLICATOR_HOURS:
  845.             set(App->CY_REMINDER_INTERVALMULTIPLICATOR,        MUIA_Cycle_Active,    2);
  846.             break;
  847.         case MULTIPLICATOR_DAYS:
  848.             set(App->CY_REMINDER_INTERVALMULTIPLICATOR,        MUIA_Cycle_Active,    3);
  849.             break;
  850.     }
  851.     DateToString(buffer,&event->BeginDate,DATEFLAG_USETIME);
  852.     set(App->STR_REMINDER_BEGINTIME,        MUIA_String_Contents,    buffer);
  853.  
  854.     DateToString(buffer,&event->EndDate,DATEFLAG_USETIME);
  855.     set(App->STR_REMINDER_ENDTIME,        MUIA_String_Contents,    buffer);
  856.  
  857.  
  858.     if (event->UseInterval)
  859.         set(App->CY_REMINDER_INTERVALTYPE,    MUIA_Cycle_Active,0);
  860.     else
  861.         set(App->CY_REMINDER_INTERVALTYPE,    MUIA_Cycle_Active,1);
  862.  
  863.     set(App->CY_REMINDER_HOLIDAYS,        MUIA_Cycle_Active,    event->Holiday);
  864.  
  865.     set(App->CH_REMINDER_USEWEEKDAY,    MUIA_Selected,         event->UseWeekday );
  866.  
  867.     set(App->CH_REMINDER_MON,            MUIA_Selected,         event->weekday[1]    );
  868.     set(App->CH_REMINDER_THU,            MUIA_Selected,         event->weekday[2]    );
  869.     set(App->CH_REMINDER_WEN,            MUIA_Selected,         event->weekday[3]    );
  870.     set(App->CH_REMINDER_TUR,            MUIA_Selected,         event->weekday[4]    );
  871.     set(App->CH_REMINDER_FRI,            MUIA_Selected,         event->weekday[5]    );
  872.     set(App->CH_REMINDER_SAT,            MUIA_Selected,         event->weekday[6]    );
  873.     set(App->CH_REMINDER_SUN,            MUIA_Selected,         event->weekday[0]    );
  874.  
  875.     set(App->CH_REMINDER1,                MUIA_Selected,            event->month[0]    );
  876.     set(App->CH_REMINDER2,                MUIA_Selected,         event->month[1]    );
  877.     set(App->CH_REMINDER3,                MUIA_Selected,         event->month[2]    );
  878.     set(App->CH_REMINDER4,                MUIA_Selected,         event->month[3]    );
  879.     set(App->CH_REMINDER5,                MUIA_Selected,         event->month[4]    );
  880.     set(App->CH_REMINDER6,                MUIA_Selected,         event->month[5]    );
  881.     set(App->CH_REMINDER7,                MUIA_Selected,         event->month[6]    );
  882.     set(App->CH_REMINDER8,                MUIA_Selected,         event->month[7]    );
  883.     set(App->CH_REMINDER9,                MUIA_Selected,         event->month[8]    );
  884.     set(App->CH_REMINDER10,                MUIA_Selected,         event->month[9]    );
  885.     set(App->CH_REMINDER11,                MUIA_Selected,         event->month[10]    );
  886.     set(App->CH_REMINDER12,                MUIA_Selected,         event->month[11]    );
  887.  
  888.     set(App->CY_REMINDER_TYPE,            MUIA_Cycle_Active,    event->EventType    );
  889.     set(App->CH_REMINDER_CLOSEPORT,    MUIA_Selected,         event->ClosePort    );
  890. }
  891.  
  892. void GUIToEvent(struct Event *event)
  893. {
  894.     char buffer[200];
  895.     struct Date mydate;
  896.     ULONG ulong;
  897.  
  898.     GetX(App->STR_REMINDER,event->Name,20);
  899.  
  900.     GetX(App->STR_REMINDER_BEGINDATE,buffer,30);
  901.     StringToDate(buffer,&event->BeginDate,0);
  902.  
  903.     GetX(App->STR_REMINDER_ENDDATE,buffer,30);
  904.     StringToDate(buffer,&event->EndDate,0);
  905.  
  906.     get(App->CY_REMINDER_DATETYPE,        MUIA_Cycle_Active,&ulong);    event->DateType        =(BYTE)ulong;
  907.  
  908.     GetX(App->STR_REMINDER_INTERVAL,buffer,20);
  909.     StrToLong(buffer,(LONG *)&event->IntervalTime);
  910.  
  911.     GetX(App->STR_REMINDER_BEGINTIME,buffer,30);
  912.     StringToDate(buffer,&mydate,0);
  913.     event->BeginDate.hours=mydate.hours;
  914.     event->BeginDate.mins=mydate.mins;
  915.     event->BeginDate.secs=mydate.secs;
  916.     CalcDatecode(&event->BeginDate);
  917.  
  918.     GetX(App->STR_REMINDER_ENDTIME,buffer,30);
  919.     StringToDate(buffer,&mydate,0);
  920.     event->EndDate.hours=mydate.hours;
  921.     event->EndDate.mins=mydate.mins;
  922.     event->EndDate.secs=mydate.secs;
  923.     CalcDatecode(&event->EndDate);
  924.  
  925.     get(App->CY_REMINDER_INTERVALTYPE, MUIA_Cycle_Active,&ulong);
  926.  
  927.     if (ulong)
  928.         event->UseInterval=FALSE;
  929.     else
  930.         event->UseInterval=TRUE;
  931.  
  932.     get(App->CY_REMINDER_INTERVALMULTIPLICATOR, MUIA_Cycle_Active,&ulong);
  933.     
  934.     switch (ulong)
  935.     {
  936.         case 0:
  937.             event->Multiplicator=MULTIPLICATOR_SECS;
  938.             break;
  939.         case 1:
  940.             event->Multiplicator=MULTIPLICATOR_MINS;
  941.             break;
  942.         case 2:
  943.             event->Multiplicator=MULTIPLICATOR_HOURS;
  944.             break;
  945.         case 3:
  946.             event->Multiplicator=MULTIPLICATOR_DAYS;
  947.             break;
  948.     }
  949.  
  950.     get(App->CY_REMINDER_HOLIDAYS,    MUIA_Cycle_Active,&ulong); event->Holiday            =(UBYTE)ulong;
  951.  
  952.     get(App->CH_REMINDER_USEWEEKDAY,    MUIA_Selected,&ulong);         event->UseWeekday        =(UBYTE)ulong;
  953.  
  954.     get(App->CH_REMINDER_MON,            MUIA_Selected,&ulong);        event->weekday[1]        =(UBYTE)ulong;
  955.     get(App->CH_REMINDER_THU,            MUIA_Selected,&ulong);        event->weekday[2]        =(UBYTE)ulong;
  956.     get(App->CH_REMINDER_WEN,            MUIA_Selected,&ulong);        event->weekday[3]        =(UBYTE)ulong;
  957.     get(App->CH_REMINDER_TUR,            MUIA_Selected,&ulong);        event->weekday[4]        =(UBYTE)ulong;
  958.     get(App->CH_REMINDER_FRI,            MUIA_Selected,&ulong);        event->weekday[5]        =(UBYTE)ulong;
  959.     get(App->CH_REMINDER_SAT,            MUIA_Selected,&ulong);        event->weekday[6]        =(UBYTE)ulong;
  960.     get(App->CH_REMINDER_SUN,            MUIA_Selected,&ulong);        event->weekday[0]        =(UBYTE)ulong;
  961.  
  962.     get(App->CH_REMINDER1,                MUIA_Selected,&ulong);        event->month[0]        =(UBYTE)ulong;
  963.     get(App->CH_REMINDER2,                MUIA_Selected,&ulong);        event->month[1]        =(UBYTE)ulong;
  964.     get(App->CH_REMINDER3,                MUIA_Selected,&ulong);        event->month[2]        =(UBYTE)ulong;
  965.     get(App->CH_REMINDER4,                MUIA_Selected,&ulong);        event->month[3]        =(UBYTE)ulong;
  966.     get(App->CH_REMINDER5,                MUIA_Selected,&ulong);        event->month[4]        =(UBYTE)ulong;
  967.     get(App->CH_REMINDER6,                MUIA_Selected,&ulong);        event->month[5]        =(UBYTE)ulong;
  968.     get(App->CH_REMINDER7,                MUIA_Selected,&ulong);        event->month[6]        =(UBYTE)ulong;
  969.     get(App->CH_REMINDER8,                MUIA_Selected,&ulong);        event->month[7]        =(UBYTE)ulong;
  970.     get(App->CH_REMINDER9,                MUIA_Selected,&ulong);        event->month[8]        =(UBYTE)ulong;
  971.     get(App->CH_REMINDER10,                MUIA_Selected,&ulong);        event->month[9]        =(UBYTE)ulong;
  972.     get(App->CH_REMINDER11,                MUIA_Selected,&ulong);        event->month[10]        =(UBYTE)ulong;
  973.     get(App->CH_REMINDER12,                MUIA_Selected,&ulong);        event->month[11]        =(UBYTE)ulong;
  974.  
  975.     get(App->CY_REMINDER_TYPE,            MUIA_Cycle_Active,&ulong);    event->EventType        =(BYTE)ulong;
  976.     get(App->CH_REMINDER_CLOSEPORT,    MUIA_Selected,&ulong);        event->ClosePort        =(BYTE)ulong;
  977.  
  978. }
  979.  
  980.  
  981.  
  982.  
  983.  
  984.